package org.layui.shop.controller;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.layui.shop.dao.ProductDao;
import org.layui.shop.dao.impl.ProductDaoImpl;

import java.io.IOException;

/**
 * 修改商品状态
 * <p>
 * 测试 Serlvet API 的工具：Apifox、postman
 *
 * @author ZQX
 * @date 2024-12-03
 */
@WebServlet("/change_product_status.do")
public class ChangeProductStatusServlet extends BaseController {
    @Override
    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");

        // 1.获取表单中输入的数据
        // 1.1）商品编号
        String productId = req.getParameter("productId");
        // 1.2）商品状态
        String productStatus = req.getParameter("productStatus");

        // 2.验证数据的合法性 - 正则表达式（略）
        int intStatus = Integer.parseInt(productStatus);


        // 3.加工处理 - 业务实现
        // 3.1）实例化 DAO 对象
        ProductDao productDao = new ProductDaoImpl();

        // 3.2）调用 DAO 对象的方法 - 根据商品ID，修改商品的状态
        int row = productDao.update(productId, intStatus);


        if (row == 1) {
            print(res, success(200, null, "下载成功"));
        } else {
            print(res, error(500, "下架失败"));
        }
    }
}
